package com.gable.exhibition.service;

import com.gable.common.util.ReturnResultUtil;
import com.gable.exhibition.model.User;
import com.gable.exhibition.view.ImportExcelManufacturerModel;
import com.gable.exhibition.view.MaintainerView;
import com.gable.exhibition.view.ManufacturerView;
import com.gable.exhibition.view.SupplierView;

import java.util.List;

/**
 * Created by Lesson on 2018/2/9.
 */
public interface ManufacturerService {

    /**
     * 获取厂商列表信息
      * @param manufacturerView
     * @Create user jacky
     * @Create date 2018/2/9
     * @return
     */
    ReturnResultUtil queryManufacturerList(ManufacturerView manufacturerView);


    /**
     * 新增或修改厂商
     * @param manufacturerView
     * @Create user jacky
     * @Create date 2018/2/9
     * @return
     */
    ReturnResultUtil addOrUpdateManufacturer(ManufacturerView manufacturerView);

    /**
     * 获取厂商详情
     * @param manufacturerId
     * @Create user jacky
     * @Create date 2018/2/9
     * @return
     */
    ReturnResultUtil queryManufacturerInfo(Long manufacturerId);

    /**
     * 插入厂商信息Excel
     * @Create user jacky
     * @Create date 2018/29
     * @return
     */
    ReturnResultUtil saveManufacturerByExcel(List<ImportExcelManufacturerModel> list, User user);

    /**
     * 根据维修商id获取该维修商的厂商信息
     * @param maintainerId
     * @Create user jacky
     * @Create date 2018/2/26
     * @return
     */
    ReturnResultUtil queryManufacturerListBymainId(Long maintainerId);

    /**
     * 厂商绑定维修商之间的关系初始化数据
     * @param maintainerView
     * @Create user jacky
     * @Create date 2018/2/28
     * @return
     */
    ReturnResultUtil bindMaintainerInit(MaintainerView maintainerView);

    /**
     * 保存厂商和维修商之间的关系
     * @param maintainerIdList
     * @param manufacturerId
     * @Create user jacky
     * @Create date 2018/2/28
     * @return
     */
    ReturnResultUtil saveSetMaintainer(List<Long> maintainerIdList,Long manufacturerId);

    /**
     *  根据供应商id获取该供应商的厂商信息
     * @param supplierId
     * @Create user jacky
     * @Create date 2018/3/16
     * @return
     */
    ReturnResultUtil queryManufacturerListBySuppId(Long supplierId);

    /**
     * 厂商绑定供应商之间的关系初始化数据
     * @param supplierView
     * @Create user jacky
     * @Create date 2018/2/28
     * @return
     */
    ReturnResultUtil bindSupplierInit(SupplierView supplierView);

    /**
     * 保存厂商和供应商之间的关系
     * @param supplierIdList
     * @param manufacturerId
     * @Create user jacky
     * @Create date 2018/3/16
     * @return
     */
    ReturnResultUtil saveSetSupplier(List<Long> supplierIdList,Long manufacturerId);
}
